package com.itcoon.cloud.framework.transform; /**
 * Copyright © 2024, ZhiYun Network Co.,Ltd. All rights reserved.
 * ZhiYun PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */

import com.itcoon.cloud.framework.transform.enums.TransformFeature;
import com.itcoon.cloud.framework.transform.definition.InjectDefinition;

import java.lang.reflect.Type;
import java.util.List;

/**
 * Description:
 *
 * Date: 10/4/24 2:55 PM
 *
 * @author: miaoxia.yu
 *
 * @version 1.0.0
 */
public interface TransformHandler<T, R> {

    R handle(Class<R> targetClass, Type[] actualTypes, R r, T source, String[] ignoreProperties, List<InjectDefinition> injectDefinitions, TransformFeature... features);
}
